package com.lucy.wx.miniapp.core;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.lucy.wx.constant.WxMiniAppConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @author kindear
 * 微信小程序开发接口
 */
@Slf4j
@Component
public class MiniAppOpen {
    @Resource
    MiniAppApi miniAppApi;
    /**
     * 获取微信用户openid
     * @param code 登录状态码
     * @return 用户 openid （身份识别码）
     */
    public String getOpenId(String code){
        return getOpenId(code,WxMiniAppConfig.appId,WxMiniAppConfig.appSecret);
    }

    /**
     * 获取微信用户openid
     * @param code 登录状态码
     * @param appId 应用ID
     * @param appSecret 应用密钥
     * @return 用户 openid （身份识别码）
     */
    public String getOpenId(String code,String appId,String appSecret){
        String openIdRes = miniAppApi.exOpenId(appId,appSecret,code);
        JSONObject jsonObject = JSONUtil.parseObj(openIdRes);
        return jsonObject.getStr("openid");
    }
}
